package com.gaga.console.core.entity.dto;

import com.gaga.common.enums.PlayerType;
import com.gaga.common.enums.ScriptType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * <p>
 * 话术vo
 * </p>
 *
 * @author liujia
 * @since 2022-05-19
 */
@Data
@ApiModel("语音合成请求参数")
public class TextToSpeechFrontDto implements Serializable {

    @ApiModelProperty("需要合成的文本内容")
    private String text;
//
//    @ApiModelProperty("采样时保留概率最高的前k个选项")
//    private Integer topK;
//
//    @ApiModelProperty("累积概率阈值采样")
//    private Double topP;
//
//    @ApiModelProperty("采样温度")
//    private Double temperature;
//
//    @ApiModelProperty("重复惩罚系数")
//    private Double repetitionPenalty;
//
//    @ApiModelProperty("生成语音的速度因子")
//    private Double speedFactor;

    @ApiModelProperty("流式响应模式")
    private Boolean streamingMode;
//
//    @ApiModelProperty("随机种子")
//    private Long seed;

    @ApiModelProperty("播放人类型")
    private PlayerType playerType = PlayerType.ANCHOR;

    @ApiModelProperty("生成的音频路径")
    private String generateAudioPath;

    @ApiModelProperty("用户名称")
    private String userName;

    @ApiModelProperty("参考音频文件路径")
    private String refAudioPath;

    @ApiModelProperty("参考音频对应的文本提示")
    private String promptText;

    @ApiModelProperty("是否智能润色")
    private Boolean smartPolish = false;

    @ApiModelProperty("是否智能回复")
    private Boolean smartQA = false;

    @ApiModelProperty("屏蔽词")
    private String blockWords;

    @ApiModelProperty("直播间描述")
    private String liveRoomDesc;

    @ApiModelProperty("模型id")
    private Long modelId;

    @ApiModelProperty("模型调用token")
    private String token;

    @ApiModelProperty("channelId")
    private String channelId;

    @ApiModelProperty("scriptType")
    private ScriptType scriptType;

    /**
     * 复读问题开关
     */
    private Boolean repeatProblem = false;

    /**
     * 问题内容
     */
    private String problemText;

    /**
     * 主播姓名
     */
    private String anchorName;

    /**
     * 用户称呼
     */
    private String userCallName;
}
